#include"tool.hpp"
bool Tools::PassFunction(User& user,std::vector<Land>& map,std::unordered_map<int,User*>& users){
	if (user.GetStopNum()!=0) {
		return false;
	}
	auto credit=user.GetCredit();
	int alltools=0;
	auto & tools=*user.GetToolMsg();
	for (auto iter:*user.GetToolMsg()){
		alltools+=iter.second;
	}
	if(credit<30||alltools>=10){
		if (credit<30)
		{
			printf("你来到了道具店，因为没有点数，被踢了出来。\n");
		}else if(alltools>=10){
			printf("你来到了道具店，但口袋已经装不下道具了。\n");
		}else{
			printf("你来到了道具店，但口袋已经装不下道具了，而且也没点数了。\n");
		}

	}else{

		printf("欢迎光临道具屋，请选择您所需要的道具：\n");
		printf("1、路障                         点数50\n");
		printf("2、机器娃娃                     点数30\n");
		/* printf("3、炸弹                         点数50\n"); */
		printf("你现在的点数为%d\n",credit);
		printf("请选择1~2购买任意道具,按f键退出\n");
		while (1) 
		{
			if (user.GetCredit()<30) {
				PrintStd("你太穷了,积分不足");
				break;
			}
			auto get=GetStdInput();
			if (get!="1"&&get!="2"&&get!="f") {
				PrintStd("输入错误");
				continue;
			}else if (get=="1")
			{
				if(credit<50){
					printf("你现在的点数为%d\n",credit);
					PrintStd("你买不起路障，请重新选择");
					continue;
				}else{
					credit=credit-50;
					user.SetCredit(credit);
					tools[1]++;
					alltools++;
					if (alltools>=10)
					{
						printf("你道具满了,退出道具屋\n");
						break;
					}else if (credit<30)
					{
						printf("你没点数了,退出道具屋\n");
						break;
					}else{
						printf("请选择1~2购买任意道具,按f键退出\n");
					}    
				}
			}else if (get=="2")
			{
				if(credit<30){
					printf("你现在的点数为%d\n",credit);
					PrintStd("你买不起机器娃娃，请重新选择");
					continue;
				}else{
					credit=credit-30;
					user.SetCredit(credit);
					tools[0]++;
					alltools++;
					if (alltools>=10)
					{
						printf("你道具满了,退出道具屋\n");
						break;
					}else if (credit<30)
					{
						printf("你没点数了,退出道具屋\n");
						break;
					}else{
						printf("请选择1~2购买任意道具,按f键退出\n");
					}    
				}
			/* }else if (get=="3") */
			/* { */
			/* 	if(credit<30){ */
			/* 		printf("你现在的点数为%d\n",credit); */
			/* 		PrintStd("你买不起炸弹，请重新选择"); */
			/* 		continue; */
			/* 	}else{ */
			/* 		credit=credit-50; */
			/* 		user.SetCredit(credit); */
			/* 		tools[2]++; */
			/* 		alltools++; */
			/* 		if (alltools>=10) */
			/* 		{ */
			/* 			printf("你道具满了,退出道具屋\n"); */
			/* 			break; */
			/* 		}else if (credit<50) */
			/* 		{ */
			/* 			printf("你没点数了,退出道具屋\n"); */
			/* 			break; */
			/* 		}else{ */
			/* 			printf("请选择1~3购买任意道具,按f键退出\n"); */
			/* 		} */    
			/* 	} */
			}else{
				PrintStd("离开了道具屋");
				break;
			}
		}
	}
	return false;
}
